Mobile product advisor

ABSTRACT

Mobile product advising includes creating, via a computer processor, vectors for each of a number of subjects corresponding to a product and assigning attributes of the subjects to corresponding fields of the vector. The mobile product advising also includes assigning values in the fields of the vectors reflecting a status of the attributes relative to the subjects. The mobile product advising further includes creating a product label for the product and encoding the vector including the attributes and values on the product label.

BACKGROUND

The present invention relates to computer processing in a commerceenvironment, and more specifically, to a mobile product advisor.

Consumers often have diverse requirements and preferences for productsbased on their lifestyles, culture, and economic status. With theproliferation of information on the Internet, consumers are becominginundated with so much information about products, it is difficult tosift through it all in an efficient way. In addition, by the time theconsumer is prepared to purchase a product, much of the information isoutdated or the consumer may have forgotten it. Likewise, it is in thebest interests of enterprises selling products to be able to conveyparticularized product information to consumers so that the consumersreceive the right amount of information sufficient to make an informedpurchase.

SUMMARY

According to one embodiment of the present invention, a method formobile product advising is provided. The method includes creating, via acomputer processor, vectors for each of a number of subjectscorresponding to a product and assigning attributes of the subjects tocorresponding fields of the vectors. The method also includes assigningvalues in the fields of the vectors reflecting a status of theattributes relative to the subjects. The method further includescreating a product label for the product and encoding the vectorsincluding the attributes and values on the product label.

According to another embodiment of the present invention, a system formobile product advising is provided. The system includes a host systemcomputer and logic executable by the host system computer. The logic isconfigured to implement a method. The method includes creating vectorsfor each of a number of subjects corresponding to a product andassigning attributes of the subjects to corresponding fields of thevector. The method also includes assigning values in the fields of thevectors reflecting a status of the attributes relative to the subjects.The method further includes creating a product label for the product andencoding the vectors including the attributes and values on the productlabel.

According to a further embodiment of the present invention, a computerprogram product for mobile product advising is provided. The computerprogram product includes a computer-readable storage medium havinginstructions embodied thereon, which when executed by a computer, causethe computer to implement a method. The method includes creating vectorsfor each of a number of subjects corresponding to a product andassigning attributes of the subjects to corresponding fields of thevectors. The method also includes assigning values in the fields of thevectors reflecting a status of the attributes relative to the subjects.The method further includes creating a product label for the product andencoding the vectors including the attributes and values on the productlabel.

Additional features and advantages are realized through the techniquesof the present invention. Other embodiments and aspects of the inventionare described in detail herein and are considered a part of the claimedinvention. For a better understanding of the invention with theadvantages and the features, refer to the description and to thedrawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The forgoing and other features, and advantages ofthe invention are apparent from the following detailed description takenin conjunction with the accompanying drawings in which:

FIG. 1 depicts a block diagram of a system upon which mobile productadvising may be implemented in an exemplary embodiment;

FIG. 2 is a flow diagram describing a process for implementing mobileproduct advising in an exemplary embodiment;

FIG. 3 is a vector for a subject with sample data created via the mobileproduct advising in an exemplary embodiment;

FIG. 4 is a vector for another subject with sample data created via themobile product advising in an exemplary embodiment;

FIG. 5 is a flow diagram describing a process for implementing mobileproduct advising via an end user device in an exemplary embodiment;

FIG. 6 is a vector for a subject with sample data created for an enduser via the mobile product advising in an exemplary embodiment; and

FIG. 7 is a vector for another subject with sample data created for anend user via the mobile product advising in an exemplary embodiment.

DETAILED DESCRIPTION

In an exemplary embodiment, mobile product advising services areprovided. The mobile product advising services enable enterprises todefine product-related vectors for different subjects associated withproducts sold by the enterprises. The product-related vectors includeattributes identifying characteristics of the subjects. Product labelsare then created with this information encoded thereon. Consumers areable to identify and receive particularized information about productsor services at a point of purchase through a mobile device or kiosk. Themobile product advising incorporates the use of the product labels withencoded product information and a mobile application for configuringuser preferences. The user preferences are defined using personalizedsubject vectors. When an end user device, such as a mobile phone scans aproduct label for its product information, the mobile applicationidentifies matching attributes in terms of the end user's preferencesfrom the user's personalized subject vectors with the product-relatedvectors, and provides this information to the end user device. These andother features of the mobile product advising will now be described.

Turning now to FIG. 1, a system 100 upon which the mobile productadvising may be implemented will now be described in an exemplaryembodiment. The system 100 of FIG. 1 includes a host system 102 and usersystems 104 in communication with one or more networks 120.

The host system 102 may be any type of computer processing device (e.g.,a general-purpose computer or a high-speed computer, such as amainframe). The host system 102 may be a provider of the exemplarymobile product advising services described herein. In one embodiment,the host system 102 is operated by a business enterprise that sellsproducts or services to consumers (e.g., user systems 104). The hostsystem 102 may be a centralized server system that manages the businessoperations of one or more retail stores or establishments, e.g., in aclient-server environment over the networks 120, and the retail storesor establishments operate computers (not shown) used in implementing themobile product advising services. In another embodiment, the host system102 may be operated by a service provider (e.g., application serviceprovider) that facilitates the mobile product advising services to itscustomers (e.g., the establishment implemented via the host system 102)over the networks 120. In this embodiment, a mobile advisor serviceserver 106 is included in the system 100 for providing the mobileproduct advising services, and the mobile product advising services maybe standardized across a plurality of different businesses orenterprises for a wide range of products and services. For purposes ofillustration, the mobile product advising services are described hereinwith respect to the food industry.

The host system 102 is communicatively coupled to one or morepoint-of-sale (POS) systems (e.g., POS system 122). A POS refers to adevice and location through which transactions, such as purchases occurand includes hardware and software elements for performing these, andrelated, transactions. The POS 122 may include an electronic cashregister. The host system 102 may communicate with the POS system 122over one or more networks 120 (e.g., a local area network of theestablishment implementing the host system 102) or may be directlyconnected to the POS system 122, e.g., via wireline means (not shown).The POS system 122 is communicatively coupled with products 116 vialabels 118 as will be described further herein.

The user systems 104 are operated by consumers of products or servicesprovided by the host system 102 (or establishment serviced by the hostsystem 102). By way of non-limiting examples, the user systems 104include a kiosk 104A and a mobile device 104B. The kiosk 104A may beinstalled in the establishment of the system 100 and provides productinformation to customers via a computer processor provided therein. Themobile device 104B may be a cellular telephone or smart phone owned by acustomer of the establishment. The kiosk 104A and the mobile device 104Bmay each include scanning components that enable customers to scanproduct labels for product information. In one embodiment, the scanningcomponents include an electronic reader, such as a two-dimensional datamatrix code reader or a radio frequency identifier (RFID) reader. In anembodiment, the kiosk 104A and the mobile device 104B each include ashopping application 112 and vector preference logic 114. The shoppingapplication 112 enables customers to search, price, and purchaseproducts. In an exemplary embodiment, the vector preference logic 114 isconfigured to allow end users or customers to establish certainpreferences with respect to the mobile product advising services, aswill be described further herein.

In an embodiment, the host system 102 executes a store utility 108 andadvisor logic 110. The store utility 108 may include one or moreapplications that enable the enterprise or establishment of system 100to identify, track, and otherwise manage products sold by theenterprise. For example, the store utility 108 may include a databasemanagement application for classifying, storing, and tracking productsprocured and sold by the enterprise. In one embodiment, the storeutility 108 includes an electronic label application, such as anelectronic shop label (ESL) application or bar code label applicationfor encoding product data on labels that are affixed to products orotherwise associated with the products provided by the enterprise. In anexemplary embodiment, the advisor logic 110 is configured to enableenterprise representatives to set up, maintain, and update productdatabases that include subject vectors defined and managed by theenterprise representatives.

As indicated above, the mobile product advisor services may beimplemented by a service provider for enterprises offering a variety ofdifferent products and services. As shown in FIG. 1, a mobile advisorservice server 106 includes advisor logic 110 for providing theseservices. The mobile advisor service server 106 may be implemented as ahigh-speed computer processing device, such as a mainframe computer. Themobile product advisor services may be implemented as a standardizedservice that maintain versions of vectors and distributes vectortemplates (e.g., templates for product related vectors) to retailers,such as the host system 102. Retailers may then select some of all ofthe product related vectors and set attributes appropriate for eachproduct. The mobile advisor service server 106 may provide a database ofsuch product related vectors to retailers.

The consumers may set their preferences via their mobile devices (e.g.,mobile device 104B) by accessing the shopping application 112, whichinterfaces with the vector preference logic 114. The mobile productadvisor services, provided by the mobile advisor service server 106 orthe host system 102, may send templates for personalized subject vectorsto the shopping application 112, and the consumers may select some ofall of the personalized subject vectors and set attributes according totheir preferences. The consumers may also upload their preferences tothe host system 102 or the mobile advisor service server 106 so that themobile product advisor services may serve them better. Alternatively,the consumers may access the mobile product advisor services from theirhome personal computers or their mobile devices, set and save theirpreferences at the mobile adviser service server 106 or retailer (e.g.,host system 102), and then download the completed vectors to theirmobile devices (e.g., user system 104B). Preferences may be stored inthe consumer's mobile devices to ensure privacy, except when theconsumers permit the mobile product advisor services to use theirpreference information to serve them better or in exchange for somebenefit.

Also shown in the system 100 of FIG. 1 is a product 116 with a productlabel 118 affixed thereto. The label 118 includes an encoded portioncreated via the host system 102. The label 118 may include a name ordescription of the product, as well price information. In order toensure that labels are easy for consumers to read, they are typicallygenerated using text or images having a typeset or font that is largeenough for the average consumer to read without undue strain, and sothey typically contain minimal information regarding the specifics ofthe product. In the food industry, e.g., pricing is typically only oneconsideration in purchasing a product. Many of today's consumers desiremore information, such as product ingredients, allergy information,nutritional value, known health benefits, whether additives areincluded, whether the product is organically grown, and whether theproduct is native grown or imported from another location, to name afew. However, due to size and space limitations for labels, providingthe breadth of this type of information on a product label may have theopposite effect of conveying valuable information, but rather may serveto detract or confuse the consumer (i.e., information overload). In anembodiment, the mobile product advising services provide the ability foran enterprise to encode more specific and detailed information about theproduct on the label 118 using product related subject vectors createdvia the mobile advisor service server 106 and/or the retailer (e.g.,host system 102), and the encoded information contains detailed productinformation so that the consumer is able to make more informedpurchasing decisions at the point of sale. Additionally, since consumerstypically have different needs or requirements (e.g., one customer maybe more interested in organically grown products, while another may onlybe concerned with food allergies), providing too much information makesit difficult for the consumer to find the particular information theydesire. Thus, in an exemplary embodiment, the mobile product advisingservices enable consumers to customize or personalize their productinformation preferences via personalized subject vectors provided b thevector preference logic 114 so they receive from these labels only theparticular information that is pertinent to them. When the consumerscans a product label's 118 code, the mobile product advising servicesretrieve and display on the consumer's device only the informationrelevant to the consumer.

In an exemplary embodiment, the product label 118 is an electronic labelthat is capable of communicating with the host system 102 and providesdynamic information in response to requests from the host system 102. Inan exemplary embodiment, the advisor logic 110 executing on the hostsystem 102 is configured to control which of the subject product relatedvectors encoded on the product label 118 may actively provideinformation to consumer based on specified conditions. Conditions mayinclude time of day, day of week, seasons of the year, and weatherconditions, to name a few. For example, different shoppers may beexpected in a retail establishment based on the time of day (e.g.,stay-at-home mothers and the elderly during the day and career-orientedconsumers in the evening). As different segments of a populationtypically have different needs or interests, the advisor logic 110 maybe configured to convey targeted information to these consumers based onthe conditions specified. The advisor logic 110 may be configured withthe conditions such that selected product related vectors are activatedand de-activated subject to the changing conditions. For example,suppose that a product label 118 is encoded with subject vectors A, B,C, D, and E. The advisor logic 110 may be configured to activate productrelated subject vectors A, B, and C during the day and activate productrelated subject vectors A, B, and D at night (thereby de-activatingvector C). The activation/de-activation of the product vectors may beimplemented, e.g., via the POS system 122 of the enterprise over awireless communication network, such as a WiFi and/or infrared (IR). ThePOS 122 may automatically activate or de-activate select product vectorson the product label based on defined conditions configured through theadvisor logic 110 that is communicated to the POS system 122 via thehost system 102. Alternatively, the activation or de-activation may bemanually implemented, e.g., by a store manager.

The product label 118 may be an electronic shopping label (ESL) or anelectronic tag, such as a near field communications (NFC) code or aradio frequency identification (RFID) code. The label 118 may be a paperlabel attached to a product or may be attached to a shelf or display ator near the product. While the label 118 is illustrated in FIG. 1 asbeing disposed on a product 116, it will be understood that other itemsmay be used in conveying information to consumers. For example, arestaurant enterprise may generate an encoded label 118 for its menu,whereby similar product information as described above may be provided(e.g., ingredients, allergy information, etc., with respect to menuitems offered on the menu).

The networks 120 may be any type of networks known in the art (e.g.,Internet, local area network, wide area network) and may includewireline and wireless technologies.

As indicated above, the mobile product advising services enableenterprises to define product-related vectors for different subjectsassociated with products sold by the enterprises. The product-relatedvectors include attributes identifying characteristics of the subjects.

Turning now to FIG. 2, an exemplary process for implementing the mobileproduct advising will now be described. At step 202, the advisor logic110 creates a vector for a subject with regard to one or more products.The subject may be pre-configured via the advisor logic 110 or may becustomized by the enterprise executing the logic 110. Using the foodindustry as an example, subjects may include food allergies, diet plans,nutrition plans, and other food-related topics, such as organic foodsand region grown.

At step 204, attributes of the subject are assigned via the advisorlogic 110 to corresponding values in the vector to reflect a status ofthe attributes with respect to the product, and the values are setaccordingly at step 206. In one embodiment, the status reflects whetherthe product is acceptable or not to a consumer based on the consumer'spreferences. In another embodiment, the status reflects the presence ofthe attribute with respect to a product, as will be described furtherherein. The attributes may be pre-configured for the subject, or theymay be customized by the enterprise. Each vector includes a number ofvalues, and each of the values represents an attribute of the subject.For example, suppose ‘food allergies’ is the subject. Attributes may beassigned to corresponding values of the vector as known food allergies,e.g., egg, dairy, wheat, soy, nuts, yeast, etc. In another example,suppose a vegetarian diet plan is the subject. Attributes may beassigned to corresponding values of the vector as variations associatedwith the diet (e.g., ovo, lacto, ovo-lacto, vegan, fruitarianism, etc.).A sample vector 300 for a vegetarian diet (i.e., the subject) withrespect to certain products is shown in FIG. 3. As shown in FIG. 3, avector column 302 lists the vector values for each attribute. Anattribute column 304 lists the attributes for the subject (e.g., ovo,lacto, ovo-lacto, veganism, raw veganism, fruitarianism, and Buddhistvegetarianism. The product columns 306-312 list products (e.g., omelets,chicken, beef, and cake). For each product (i.e., product column), avalue ‘0’ or ‘1’ is populated in the respective field. If ‘1’ ispopulated in the field for a product, it means the product is acceptableand conforms with the corresponding attribute, or variation of thevegetarian diet. For example, as shown in FIG. 3, the product “omelets”in column 306 contains eggs. For a consumer following the ovo vegetariandiet, this product is considered acceptable and is permitted by thediet, as indicated by the value set to ‘1’. By contrast, sincevegetarian diets do not include meat, the fields in the product columns308 and 310 (chicken and beef, respectively) are set to ‘0’ indicatingthat the product is not good for the diet, or are set to ‘null’indicating that the product status is unknown or has not been definedfor the product.

Turning now to FIG. 4, a sample vector 400 for food allergies withrespect to certain products (i.e., the subject) is shown. As shown inFIG. 4, a vector column 402 lists the vector values for each attribute.An attribute column 404 lists the attributes for the subject (e.g.,dairy, wheat, egg, soy and yeast). The product columns 406-412 listproducts (e.g., omelets, chicken, beef, and cake). For each product(i.e., product column), a value ‘0’ or ‘1’ is populated in therespective field. If ‘1’ is populated in the field for a product, itmeans the product is good for the consumer with regard to the associatedattribute. For example, a ‘1’ in vector 2 “eggs” for product 408“chicken” reflects that the product is good for individuals who areallergic to eggs. By contrast, the product “omelets” in column 406contains eggs. For a consumer identified as having an allergy to eggs,this product is considered unacceptable, as indicated by the value setto ‘0’. Thus, products that indicate an allergen identified by theattribute column 404 are set to ‘0’ indicating that the product isunacceptable for the consumer, or are set to ‘null’ indicating that theproduct status is unknown or has not been defined for the product.

At step 208, the advisor logic 110 stores the vectors and relatedinformation in the host system 102 storage.

At step 210, the shopping utility 108 (or advisor logic 110, if soconfigured) creates a product label encoded with the vector information.The product label may be encoded as a two-dimensional bar code, such asa data matrix code, QR code, or color code, or may be a universalproduct code (UPC) or radio frequency identification (RFID) code.

The exemplary mobile product advising services may also include featuresfor enabling customers or end users to establish preferences for use inidentifying desired product information encoded on product labels (e.g.,ESLs). These features are implemented via the vector preference logic114. The vector preference logic 114 may be integrated with a shoppingapplication (e.g., shopping application 112) or may be a standalonesoftware application. In an exemplary embodiment, the vector preferencelogic 114 utilizes vectors for subjects similar to those identifiedabove (e.g., vegetarian, allergy, etc.). Turning now to FIG. 5, aprocess for implementing the mobile product advising services by an enduser or consumer will now be described in an exemplary embodiment. Thevector preference logic 114 stores subject vectors including associatedattributes as user preferences on the user system 104. In an alternativeembodiment, at least a portion of the vector preference logic 114 may beimplemented by the user systems 104 via the host system 102 (e.g., thehost system 102 provides a user interface to the user systems 104), andthe host system 102 stores the user preferences established by the usersystems 104. The processes are described in FIG. 5 with regard to thefood industry by way of example.

The end user may download or install the vector preference logic 114 tothe mobile device 104B and/or the enterprise of the system 100 of FIG. 1may install the vector preference logic 114 on the kiosk 104B. Thevector preference logic 114 includes a user interface for prompting anend user through the features provided by the logic 114. The end useropens the vector preference logic 114 on the user system 104 and thevector preference logic 114 provides a subject menu to the user system104 via, e.g., a display screen on the user system 104 at step 502. Asindicated above, the subjects may include food allergies, diet plans,nutrition, etc.

At step 504, the vector preference logic 114 receives a selection forone or more subjects (e.g., vegetarian diet and allergy) from the enduser via the user system 104. At step 506, the vector preference logic114 retrieves attributes for the selected subject and presents theattributes to the user system 104 at step 508. For example, if the userselects vegetarian diet, the vector preference logic 114 retrievesattributes, such as ovo, lacto, ovo-lacto, veganism, etc. At step 510,the vector preference logic 114 receives a selected attribute for thesubject and stores the attribute selection as preferences in the usersystem 104 at step 512. As shown in FIG. 6, e.g., a vegetarian dietvector set 600 for end users includes a vector column 602 and attribute(variations of vegetarian diets) column 604. In addition, the vegetariandiet vector set 600 includes a vegetarian diet preference column 606 fora first end user. The processes described in steps 502-512 may berepeated for multiple subjects and end users of a mobile device asdesired. For example, as shown in FIG. 6, a vegetarian diet preferencecolumn 608 for a second end user is provided. If a value ‘1’ or ‘0’ ispresent, the person is following the respective vegetarian lifestyle ornot, indicated by the attribute. If a null value is present, theperson's lifestyle is not yet defined. Further, as shown in FIG. 7, anallergy vector set 700 for end users includes a vector column 702 and anattribute (food allergies) column 704. In addition, the allergy vectorset 700 includes an allergy selection column 706 for a first end userand an allergy selection column 708 for a second end user. If a value‘1’ or ‘0’ is present, the person is indicated to have an allergy to thecorresponding food corresponding to the attribute. If a null value ispresent, the person's allergy information has not been defined. Forexample, as shown in FIG. 6, a male user (column 608) is following an“ovo lifeystyle,” and in FIG. 7, the same user (column 705) does not sethis personalized subject vector for allergies as indicated by the ‘null’values. The ‘null’ values reflect that the user is not interested in theallergy information associated with the allergy vector set 700.

Once these preferences are determined and set by the end users, thevector preference logic 114 is ready to be implemented by the end users.

At step 514, the vector preference logic 114 receives scanned data via ascanner component on the user system 104 and decodes the data. Thescanned data is received from the label 118 (e.g., two-dimensional datamatrix code). For two-dimensional or one-dimension bar codes, the usersystems 104 may optically capture the bar code image with a built-incamera and decode the captured image. For NFC or RF tags, the usersystems 104 trigger the tag with wireless communication and receive theinformation with wireless communication as a response. The vectorpreference logic 114 retrieves the end user's stored, personalizedvectors and attributes (i.e., preferences) from the user system 104 atstep 516 and compares the scanned data with the stored attributes atstep 518.

At step 520, the vector preference logic 114 determines a compatibilityindicator in response to the comparing performed at step 518. Thecompatibility indicator may reflect that the product scanned iscompatible with the consumer's preferences, is not compatible with theconsumer's preferences, or is undetermined with respect to theconsumer's preferences. The vector preference logic 114 determines thecompatibility by assessing whether a product presents all thecorresponding product related vectors (from the scanned product 116) toall the personalized subject vectors in the user system 104, and all thepreferences (e.g., attributes with ‘1’ values) set in the personalizedsubject vectors have corresponding positive attribute values set for theproduct related vectors, then the product is determined to be compatiblefor the consumer. However, if a product presents all the correspondingproduct related vectors to all the personalized subject vectors in theuser system 104, and any of the preferences (e.g., attributes with ‘1’values) set in the personalized subject vectors has correspondingnegative attribute ‘0’ values set for the product related vectors, thenthe product is not compatible for the consumer. Finally, if a productpresents only a part of the corresponding product related vectors to allthe personalized subject vectors in the user system 104, or any of thepreferences (e.g., attributes with ‘1’ values) set in the personalizedsubject vectors has corresponding unknown attributes ‘null’ values setfor the product related vectors, then the product may or may not becompatible for the consumer.

In another embodiment, the compatibility indicator may be reported as ascore (e.g., 9-100) where a score of 100 reflects a highestcompatibility rating based on a number of attribute matches in a vector.Alternatively, the compatibility indicator may be reported as a ‘yes,’‘no,’ or ‘warning’ using the scoring system above whereby a score (e.g.,81-100) indicates compatibility, a score (e.g., between 40-80) indicatesa warning and a score (e.g., 0-39) indicates a lack of compatibility.

Accordingly, at step 520, if the product is determined to be compatible,the vector preference logic 114 presents a notification on the usersystem 104 indicating the compatibility (e.g., “this product ispesticide free”). If however, the product is determined not to becompatible or it is uncertain if the product is compatible, the vectorpreference logic 114 presents a suitable notification on the user system104 in the form of a warning, alert or suggestion. For example, if theproduct is not compatible with the consumer's preferences, thenotification may indicate “this product contains eggs,” in the casewhere the consumer has indicated an allergy to egg products. If theproduct's compatibility is undetermined with regard to the consumer'spreferences, the notification may indicate “please see store associatefor assistance.” Alternatively, the notification may be a sound, icon,or animation indicating the compatibility indicator.

In an alternative embodiment, the advisor logic 110 may be configured toprocess the scanned product related vector information and personalizedsubject vectors by considering matching attributes for only a subset ofthe total attributes in a given vector (e.g., if two or more attributesmatch, the product is considered compatible for the consumer).Alternatively, the product may be rated with a match score from 0-100 asa result of the calculation performed by the logic 114. It will beunderstood that these and other variations of the logic may becontemplated in order to realize the advantages of the exemplaryembodiments.

In one embodiment, the vectors may be updated over time and have severalassociated versions. Over time, any vector may have histories reflectingthe addition of new attributes or the splitting of existing attributes(for detailing). In order to maintain consistency among the vectors forthe product labels and the user systems, the host system 102 (or themobile advisor service server 106) may configure the vectors to includea separate field that indicates a version number of level of the vector.The new vectors may then be distributed to appropriate entities forstorage and use.

Technical effects of the invention include the ability to defineproduct-related vectors for different subjects associated with productssold by the enterprises. The product-related vectors include attributesidentifying characteristics of the subjects. Product labels are thencreated with this information encoded thereon. Consumers are then ableto identify and receive particularized information about products orservices at a point of purchase through a mobile device or kiosk. Themobile product advising incorporates the use of the product labels withencoded product information and a mobile application for configuringuser preferences. The user preferences are defined using personalizedsubject vectors. When an end user device, such as a mobile phone scans aproduct label for its product information, the mobile applicationidentifies matching attributes in terms of the end user's preferencesfrom the user's personalized subject vectors with the product-relatedvectors, and provides this information to the end user device. These andother features of the mobile product advising will now be described.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of onemore other features, integers, steps, operations, element components,and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated

The flow diagrams depicted herein are just one example. There may bemany variations to this diagram or the steps (or operations) describedtherein without departing from the spirit of the invention. Forinstance, the steps may be performed in a differing order or steps maybe added, deleted or modified. All of these variations are considered apart of the claimed invention.

While the preferred embodiment to the invention had been described, itwill be understood that those skilled in the art, both now and in thefuture, may make various improvements and enhancements which fall withinthe scope of the claims which follow. These claims should be construedto maintain the proper protection for the invention first described.

What is claimed is:
 1. A method comprising: creating, via a computerprocessor, vectors for each of a plurality of subjects corresponding toa product and assigning attributes of the subjects to correspondingfields of the vectors; assigning values in the fields of the vectorsreflecting a status of the attributes relative to the subjects; creatinga product label for the product; encoding the vectors including theattributes and values on the product label comparing scanned data fromthe product label with a preference vector created for an end user;determining a compatibility indicator responsive to the comparing; andpresenting a notification indicative of the compatibility indicator toan end user device of the end user.
 2. The method of claim 1, furthercomprising: activating a subset of the vectors on the product label, viathe computer processor over a network, based on a satisfied condition;and de-activating at least a portion of the subset of vectors on theproduct label, over the network, when the condition is no longersatisfied.
 3. The method of claim 1, wherein the product is a food itemand the subjects comprise food allergies.
 4. The method of claim 1,wherein the product is a food item and the subjects comprise diet data.5. The method of claim 1, wherein the product label is created as one ofa: two-dimensional bar code; near field communications code; universalproduct code; and radio frequency identifier code.
 6. The method ofclaim 1, further comprising providing a user interface to the end userdevice, the user interface configured to receive user preferences withrespect to the subjects and create the preference vector from inputsreceived from the end user.
 7. A system comprising: a host systemcomputer; and logic executable by the host system computer, the logicconfigured to implement a method, the method comprising: creatingvectors for each of a plurality of subjects corresponding to a productand assigning attributes of the subjects to corresponding fields of thevectors; assigning values in the fields of the vectors reflecting astatus of the attributes relative to the subjects; creating a productlabel for the product; encoding the vectors including the attributes andvalues on the product label; comparing scanned data from the productlabel with a preference vector created for an end user; determining acompatibility indicator responsive to the comparing; and presenting anotification indicative of the compatibility indicator to an end userdevice of the end user.
 8. The system of claim 7, wherein the logicfurther implements: activating a subset of the vectors on the productlabel, via the computer processor over a network, based on a satisfiedcondition; and de-activating at least a portion of the subset of vectorson the product label, over the network, when the condition is no longersatisfied.
 9. The system of claim 7, wherein the product is a food itemand the subjects comprise one of: food allergies; and diet data.
 10. Thesystem of claim 7, wherein the product label is created as one of a:two-dimensional bar code; near field communications code; universalproduct code; and radio frequency identifier code.
 11. The system ofclaim 7, wherein the logic is further configured to implement: providinga user interface to the end user device, the user interface configuredto receive user preferences with respect to the subjects and create thepreference vector from inputs received from the end user.
 12. A computerprogram product comprising a computer-readable storage medium havinginstructions embodied thereon, which when executed by a computer, causethe computer to implement a method, the method comprising: creatingvectors for each of a plurality of subjects corresponding to a productand assigning attributes of the subjects to corresponding fields of thevectors; assigning values in the fields of the vectors reflecting astatus of the attributes relative to the subjects; creating a productlabel for the product; encoding the vectors including the attributes andvalues on the product label; comparing scanned data from the productlabel with a preference vector created for an end user; determining acompatibility indicator responsive to the comparing; and presenting anotification indicative of the compatibility indicator to an end userdevice of the end user.
 13. The computer program product of claim 12,further comprising instructions for: activating a subset of the vectorson the product label, via the computer processor over a network, basedon a satisfied condition; and de-activating at least a portion of thesubset of vectors on the product label, over the network, when thecondition is no longer satisfied.
 14. The computer program product ofclaim 12, wherein the product is a food item and the subjects compriseone of: food allergies; and diet data.
 15. The computer program productof claim 12, wherein the product label is created as a two-dimensionalbar code.
 16. The computer program product of claim 12, wherein theproduct label is created as a radio frequency identifier code.
 17. Thecomputer program product of claim 12, further comprising instructionsfor providing a user interface to the end user device, the userinterface configured to receive user preferences with respect to thesubjects and create the preference vector from inputs received from theend user.